#ifndef _config_h_libportal_already_in__
#define _config_h_libportal_already_in__

// Shared library support
#ifdef WIN32
//#warning win32 was defined.
  #define PortalIMPORT __declspec(dllimport)
  #define PortalEXPORT __declspec(dllexport)
  #define PortalDLLLOCAL
  #define PortalDLLPUBLIC
#else //should somehow check for the LINUX definition here.
//#warning running as gnu
  #if __GNUC__ >= 4   //gcc version 4.0+, so we have the visibility patches.
//#warning got to vis patch
    #define PortalIMPORT __attribute__ ((visibility("default")))
    #define PortalEXPORT __attribute__ ((visibility("default")))
    #define PortalDLLLOCAL __attribute__ ((visibility("hidden")))
    #define PortalDLLPUBLIC __attribute__ ((visibility("default")))
  #else
//#warning dont have vis patch!
    #define PortalIMPORT
    #define PortalEXPORT
    #define PortalDLLLOCAL
    #define PortalDLLPUBLIC
  #endif
#endif

// Define PORTALAPI for DLL builds
#ifdef PORTALDLL
//#warning portaldll was defined
  #ifdef Portal_EXPORTS
//#warning portal exports was defined.
    #define PORTALAPI PortalEXPORT
  #else
//#warning portal exports was NOT NOT defined!!!
    #define PORTALAPI PortalIMPORT
//#define PORTALAPI
  #endif // PORTALDLL_EXPORTS
#else
//#warning portal export NOT DEIFNED!!!!
  #define PORTALAPI
#endif // PORTALDLL

#endif
